// pages/goodsDetail/goodsDetail.js
import { require} from '../../require/index.js'
import  regeneratorRuntime, { async } from '../../lib/runtime/runtime.js'
// 点击轮波图看大图  实际上调用胃 api previewImage
// 点击添加购物车 1 添加事件  2.获取缓存中的购物车数据 3先判断 当前商品在 购物车中商品是否存在  
// 4已存在修改数据 商品数量++ 填充回缓存 5 不存在 在购物车中添加一个新商品 购买数量num 填充回缓存 
// 6弹出提示
Page({

  /**
   * 页面的初始数据
   */
  data: {
    goodDeatilList: {}
  },
  GoodsInfo: {}
  ,
  // 获取商品详情数据
  async getGoodDetial(goods_id) {
    console.log(goods_id)
    const goodDeatilList = await require({url: '/goods/detail', data: {goods_id}})
    this.GoodsInfo = await require({url: '/goods/detail', data: {goods_id}})
    this.setData({
      goodDeatilList: {
        goods_name: goodDeatilList.goods_name,
        goods_price: goodDeatilList.goods_price,
        // iphone 手机不识别webp 格式图片,以下不是正常企业开发方式 ，最好找后台改一下
        goods_introduce: goodDeatilList.goods_introduce.replace(/\.webp/g,'.jpg'),
        pics: goodDeatilList.pics
      }
    })
  },
  // 点击放大预览
  handlePreImage(e) {
    console.log(e)
    const urls = this.GoodsInfo.pics.map(v => v.pics_mid)
    wx.previewImage({
      current: urls[e.currentTarget.dataset.url],
      urls: urls,
      success: (result)=>{
        
      },
      fail: ()=>{},
      complete: ()=>{}
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
   
    this.getGoodDetial(options.goods_id)
  },
  // 加入购物车
  handleAddCart() {
    // 获取缓存数据
    let cart = wx.getStorageSync('cart')||[]
    // 判断对象是否存在购物车中
    let index = cart.findIndex(v=> v.goods_id === this.GoodsInfo.goods_id)
    console.log(index)
    if (index === -1) {
      // 不存在添加进匀
      this.GoodsInfo.num = 1;
      this.GoodsInfo.isChecked = true;
      cart.push(this.GoodsInfo)
    } else {
      // 存在++
      cart[index].num++;
    }
    // 从新存进缓存
    wx.setStorageSync('cart', cart);
    wx.showToast({
      title: '加入成功',
      icon: 'success',
     // mask true 防止用户疯狂点击
      mask: true
    });
  }
})